In a various processor-based systems, buffer memories are often employed to store data on a temporary basis for various purposes. For example, in a network processor, a buffer memory may be employed to temporarily store data streams that are to be routed to other points in a network, etc. Alternatively, there are many other uses for a memory buffer as one with skill in the art can appreciate.
In some cases, the data stored in a buffer memory may become “stale” in that it is no longer needed and can be disregarded. For example, in network processors, data streams that are being transferred to a client device may become stale due to the fact that the original requester canceled the request, etc. In such case, the portions of a buffer memory holding stale data need to be reclaimed for further use. Unfortunately, in order to reclaim portions of buffer memory holding stale data, buffer reclamation functions are employed that access the buffer, thereby robbing buffer access time from primary functions of a respective processor.